package com.prj.ufdm.cloud.ms.auth.api;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject;
import com.prj.ufdm.cloud.base.dto.RetData;
import com.prj.ufdm.cloud.base.exception.BaseException;
import com.prj.ufdm.cloud.base.util.BaseStringUtil;
import com.prj.ufdm.cloud.ms.auth.bpo.SysDutyOrganBPO;
import com.prj.ufdm.cloud.ms.auth.enums.AuthRetCodeEnum;
import com.prj.ufdm.cloud.ms.auth.model.SysOrgan;


/**
 * DESC: 职务机构控制类 <br>
 * @author 胡义振
 * @date 2020年1月15日
 */
@RequestMapping(value = "/api/auth/sysdutyorgan")
@Controller
public class SysDutyOrganController {
	
	@Autowired
	SysDutyOrganBPO sysDutyOrganBPO;
	
	/**
	 * DESC: 职务添加机构
	 * @param 
	 *      dutyId      角色ID
	 *      organIds  功能ID（多个用","号分隔）
	 * @return
	 * @author 胡义振  
	 * @date 2018年3月26日
	 */
	@RequestMapping(value = "/doAddDutyOrgan")
	@ResponseBody
	public RetData<String> doAddDutyOrgan(String dutyId,String organIds) throws Exception {
		RetData<String> retData = new RetData<String>();
		// 角色ID不能为空
		if("".equals(BaseStringUtil.replaceAllBlank(dutyId))) {
			throw new BaseException(AuthRetCodeEnum.RET_CODE_0106001.getCode(),AuthRetCodeEnum.RET_CODE_0106001.getMessage());
		}
		sysDutyOrganBPO.doAddDutyOrgan(dutyId,organIds);
		return retData;
	}
	
	
	/**
	 * DESC: 根据角色ID，查询角色的资源(返回所有资源，通过ownerFlag进行标识)，返回对象列表
	 * @auther 胡义振
	 * @date 2020年1月14日
	 * @param dutyId
	 * @return
	 * @throws Exception 
	 * @return
	 */
	@RequestMapping(value = "/doGetAllOrganListByDutyId")
	@ResponseBody
	public RetData<List<SysOrgan>> doGetAllOrganListByDutyId(String dutyId) throws Exception {
		RetData<List<SysOrgan>> retData = new RetData<List<SysOrgan>>();
		retData.setRetBody(sysDutyOrganBPO.doGetAllOrganListByDutyId(dutyId));
		return retData;
	}
	
	/**
	 * DESC: 根据角色ID，查询角色的资源(返回所有资源，通过ownerFlag进行标识)，返回对象列表
	 * @auther 胡义振
	 * @date 2020年1月14日
	 * @param dutyId
	 * @return
	 * @throws Exception 
	 * @return
	 */
	@RequestMapping(value = "/doGetAllOrganJsonByDutyId")
	@ResponseBody
	public RetData<List<JSONObject>> doGetAllOrganJsonByDutyId(String dutyId) throws Exception {
		RetData<List<JSONObject>> retData = new RetData<List<JSONObject>>();
		retData.setRetBody(sysDutyOrganBPO.doGetAllOrganJsonByDutyId(dutyId));
		return retData;
	}
	
}
